The use of graphic displays in connection with personal and other computers has become common place. Such graphic displays may present textual data and graphics. Textual data are commonly associated with literary arts and include information expressed as ASCII data, extended ASCII data, alpha-numeric data, and the like. Graphics are commonly associated with pictorial arts and include pictures, drawings, symbols, and other arrangements of color and shape. Graphics differ from textual data in that the quantity of computer memory needed to store or otherwise define a given visual area is typically substantially more for graphics than for textual data. However, the quantity of data needed to describe a graphics drawing often depends on the nature of the drawing.
Bit-mapping represents a straight-forward technique for defining a graphics image. In a bit-mapped image one or more bits of memory define the nature of each pixel to be enclosed in a graphics drawing. However, video terminal technology has advanced to a state where several hundred thousand pixels are included in each square inch of display. Moreover, pixels may exhibit many different colors, and additional memory is required to specify pixel color. Consequently, a large quantity of memory is required to define a graphics image which occupies an entire video terminal screen, and an entire drawing which may occupy many screens requires an enormous quantity of bit-mapped data.
The amount of data required to define bit-mapped graphics images is far too large to pose a realistic solution for use in many applications which operate on personal computers. For example, an application which seeks to display a variety of maps on a personal computer video terminal could easily consume more than the entire amount of long-term disk memory available on typical personal computers in storing definitions for the maps. Accordingly, various techniques are implemented to encode or otherwise compress this voluminous quantity of data for storage. When displayed, this data is decoded, processed, or otherwise expanded to a bit-mapped form for application to video control circuits and presentation at the video terminal.
Another commonly used technique for encoding graphics data defines perimeters of the objects included in a drawing. Thus, the amount of memory needed to define the drawing depends on the nature of the drawing. Even when a drawing includes several objects and the objects exhibit irregular shapes, sufficient memory space savings result to permit practical use of this technique for many applications which operate on personal computers. However, when a drawing includes several objects or when the objects have irregular shapes, a substantial amount of computer processing must be performed to decode the graphics data before it may be displayed or otherwise manipulated. In the map-displaying application discussed above, a map may include many objects or political regions, and the regions will typically exhibit extremely irregular shapes. Many maps may be encoded for use on a typical personal computer, and a significant amount of computer time must be dedicated to decoding the graphic data for video display or other processing.
The use of pointing devices has also become common place in connection with personal computers. Such pointing devices manipulate a video pointer using a keyboard, joystick, mouse, track-ball, or the like, in combination with controlling software. The pointer system provides display coordinates which define a location on the display where the video pointer should then be positioned. Often times, application software processes graphics data with respect to such display coordinates to identify a specific object indicated by the video pointer. Application specific software then performs an application-related activity with respect to the specified object. For example, computer aided design (CAD) programs often allow a user to select a graphic object using a video pointer. Typical CAD programs then perform some activity, such as enlarging, shrinking, moving, erasing, and the like, on the selected object.
Generally speaking, the computer processing time required to identify a pointer-selected graphic object is much greater for encoded graphic data than for bit-mapped graphic data. Moreover, the computer processing time needed to identify one of several irregularly shaped, encoded graphic objects is much greater than for corresponding regularly shaped, encoded graphic objects because irregular shapes require specification of many parameters to accurately characterize the object. Thus, CAD programs which utilize bit-mapped graphics or which manipulate relatively regular shapes may appear to perform an activity on a selected graphic object in real time. However, extensive delay occurs whenever graphic data encoding is employed with a drawing that includes many objects having irregular shapes.